package com.ddstation.common.util;

import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;


/**
* Created by Admin on 2017/10/19.
*/
public class UrlFilesToZip {
//	private static final Logger logger = LoggerFactory.getLogger(UrlFilesToZip.class);
	//根据文件链接把文件下载下来并且转成字节码
	public byte[] getImageFromURL(String urlPath) {
		byte[] data = null;
		InputStream is = null;
		HttpURLConnection conn = null;
		try {
			URL url = new URL(urlPath);
			conn = (HttpURLConnection) url.openConnection();
			conn.setDoInput(true);
			// conn.setDoOutput(true);
			conn.setRequestMethod("GET");
			conn.setConnectTimeout(6000);
			is = conn.getInputStream();
			if (conn.getResponseCode() == 200) {
				data = readInputStream(is);
			} else {
				data = null;
			}
		} catch (MalformedURLException e) {
//			logger.error("MalformedURLException", e);
//			throw e;
		} catch (IOException e) {
//			logger.error("IOException", e);
//			throw e;
		} finally {
			try {
				if (is != null) {
					is.close();
				}
			} catch (IOException e) {
//				logger.error("IOException", e);
//				throw e;
			}
			conn.disconnect();
		}
		return data;
	}

	public byte[] readInputStream(InputStream is) {
		ByteArrayOutputStream baos = new ByteArrayOutputStream();
		byte[] buffer = new byte[1024];
		int length = -1;
		try {
			while ((length = is.read(buffer)) != -1) {
			baos.write(buffer, 0, length);
		}
		baos.flush();
		} catch (IOException e) {
//			logger.error("IOException", e);
//			throw e;
		}
		byte[] data = baos.toByteArray();
		try {
				is.close();
				baos.close();
		} catch (IOException e) {
//			logger.error("IOException", e);
//			throw e;
		}
		return data;
	}
}